#! /usr/bin/env python

"""
动态参数工作流程：
1.创建参数生成器
2.向参数生成器中添加参数
3.生成中间文件并退出
"""

# 参数生成器的py函数
from dynamic_reconfigure.parameter_generator_catkin import *
# 创建生成器
gen = ParameterGenerator()
# 添加参数
gen.add("int_param", int_t, 0, "整形参数", 10, 1, 100)
gen.add("double_param", double_t, 0, "浮点参数", 1.57, 0, 3.14)
gen.add("string_param", str_t, 0, "字符串参数", "hello world ")
gen.add("bool_param", bool_t, 0, "bool参数", True)

many_enum = gen.enum([gen.const("small", int_t, 0, "a small size"),
                      gen.const("mediun", int_t, 1, "a medium size"),
                      gen.const("big", int_t, 2, "a big size")
                      ], "a car size set")

gen.add("list_param", int_t, 0, "列表参数", 0, 0, 2, edit_method=many_enum)
# 配置节点并退出。注意，最后一个名称dr，必须与配置文件dr.cfg名称保持一致
exit(gen.generate("demo02_dr", "dr_client", "dr"))
